import axios from 'axios';

// 配置axios实例
const api = axios.create({
  baseURL: 'http://localhost:5173/api',
  timeout: 5000,
  headers: {
    'Content-Type': 'application/json'
  }
});

// 测试用例
async function testLogin() {
  console.log('开始测试登录功能...\n');

  // 测试1: 正常登录 (admin)
  try {
    console.log('测试1: 正常登录 (admin/123456)');
    const response = await api.post('/login', {
      username: 'admin',
      password: '123456'
    });
    
    console.log('✅ 登录成功');
    console.log('响应数据:', response.data);
    console.log('Token:', response.data.token ? '存在' : '不存在');
    console.log('用户信息:', response.data.userInfo ? '存在' : '不存在');
    console.log('');
  } catch (error) {
    console.log('❌ 登录失败');
    console.log('错误信息:', error.message);
    if (error.response) {
      console.log('响应状态:', error.response.status);
      console.log('响应数据:', error.response.data);
    }
    console.log('');
  }

  // 测试2: 正常登录 (user)
  try {
    console.log('测试2: 正常登录 (user/123456)');
    const response = await api.post('/login', {
      username: 'user',
      password: '123456'
    });
    
    console.log('✅ 登录成功');
    console.log('响应数据:', response.data);
    console.log('Token:', response.data.token ? '存在' : '不存在');
    console.log('用户信息:', response.data.userInfo ? '存在' : '不存在');
    console.log('');
  } catch (error) {
    console.log('❌ 登录失败');
    console.log('错误信息:', error.message);
    if (error.response) {
      console.log('响应状态:', error.response.status);
      console.log('响应数据:', error.response.data);
    }
    console.log('');
  }

  // 测试3: 空用户名
  try {
    console.log('测试3: 空用户名');
    const response = await api.post('/login', {
      username: '',
      password: '123456'
    });
    
    console.log('❌ 应该失败但成功了');
    console.log('响应数据:', response.data);
    console.log('');
  } catch (error) {
    console.log('✅ 正确处理了空用户名');
    console.log('错误信息:', error.message);
    if (error.response) {
      console.log('响应状态:', error.response.status);
      console.log('响应数据:', error.response.data);
    }
    console.log('');
  }

  // 测试4: 错误的用户名/密码
  try {
    console.log('测试4: 错误的用户名/密码');
    const response = await api.post('/login', {
      username: 'wronguser',
      password: 'wrongpass'
    });
    
    console.log('❌ 应该失败但成功了');
    console.log('响应数据:', response.data);
    console.log('');
  } catch (error) {
    console.log('✅ 正确处理了错误的用户名/密码');
    console.log('错误信息:', error.message);
    if (error.response) {
      console.log('响应状态:', error.response.status);
      console.log('响应数据:', error.response.data);
    }
    console.log('');
  }

  // 测试5: 缺少密码
  try {
    console.log('测试5: 缺少密码');
    const response = await api.post('/login', {
      username: 'admin'
    });
    
    console.log('❌ 应该失败但成功了');
    console.log('响应数据:', response.data);
    console.log('');
  } catch (error) {
    console.log('✅ 正确处理了缺少密码');
    console.log('错误信息:', error.message);
    if (error.response) {
      console.log('响应状态:', error.response.status);
      console.log('响应数据:', error.response.data);
    }
    console.log('');
  }
}

// 运行测试
testLogin().catch(error => {
  console.error('测试过程中出现未处理的错误:', error);
});